From the desk of Dr FIF

Below are the answers to some commonly asked questions about compression,
Fractal technology, our commercial policies and practical implementations of
our tools for compression and decompression.

Why do I need compression?

Our original infrastructure of PCs were designed to handle ascii text.  It
takes about 2kB to store one page of this kind of data.  To store a full
colour, full screen image takes 1.4meg - that's one image per diskette!
 Although storage space is getting cheaper and hard disks are getting larger,
the users' demands on this space are always several steps ahead.  For
example, a short while ago 100dpi images were acceptable, but today many
users have 600dpi printers.

But this is not the only problem.  If you want to share your images with
anyone else, you have to consider the strain that transmitting large amounts
of data makes on a network system and the amount of time it takes to send
such a vast quantity of information down a wire.  This problem is summed up
by the amount of bandwidth available to an end user.  With full motion video
the problem is even greater.  

Compression is therefore needed because of lack of capacity for storage (be
it on a hard disk, CD-ROM, diskette, etc) and because of bandwidth issues.
 Compression technologies also bring with them various other advantages like
the resolution independence of a Fractal file allowing for smooth zooming.

CD-ROMs can store more data than a diskette but even CD-ROM users choose
compression to speed up access times (getting the data onto the screen) and
to enable the developer to store many thousands of images or long full motion
video clips on one CD-ROM avoiding the need for the user to switch CD-ROMs in
the middle of an application to find the appropriate data.

What types of compression exist?

Two types - lossless compression and lossy compression.  The former allows
the user to get back all of the data that they have passed through the
compression process in exactly the same format as it went in.  Popular
examples of this sort of compression include PKZIP, LH ARC and Double Space.
 Lossless compression is used for data that would be no longer useful if any
of it was lost in the compression process, for example the storage of text
files, spreadsheet data, etc.  Lossless data compression techniques yield
average compression ratios of 5:1.

Lossy compression throws away data in order to achieve higher compression
ratios.  This data doesn't have to been noticeably lossed (hence the term
"visually lossless") and this techniques is particularly suitable for digital
images.  Unlike executable or binary data, image files contain redundant data
that can be thrown away without effecting the visual integrity of the image.

Fractal image compression is a lossy compression technology and yields
compression ratios of upwards of 30:1.  Depending upon the projects
specifications and the image requirements within any applications, ratios of
over 200:1 can sometimes still yield a visually perfect image.

How does Fractal compression work?

Fractal image compression works by exploiting the fact that there are
repeated patterns in image data.  These patterns can be stored as a series of
affine maps which are produced by breaking the image down into a set of less
complex shapes which are composed of self similarity between different parts
of the image and also with a library of standard shapes.  Using a set of
these affine maps the original image can be reproduced.  The affine maps can
store similarity in terms of a scaling of a pattern, a mirroring or a
rotation.  The affine maps produced take up a lot less space than standard
bit mapped data which by comparison contains descriptive data about each
individual pixel.  Compression therefore occurs.

Dr Michael Barnsley book "Fractal Image Compression" published by Lyman and
Hurd is recommended for further reading on this subject.

Do I have to understand Fractal Mathematics to use this technology?

Absolutely not.

Once I have thrown the data away to achieve the compression - can I get it
back?

No.  However, you can convert your FIF back to a bitmapped image but it will
look identical to the compressed FIF file and not to the original image that
you started with.  If you have compressed to a visually lossless ratio the
bitmap will still look visually lossless because the data that you have
thrown away was redundant and was unnecessary for providing any greater image
detail.  If you have used a higher compression ratio and some loss is
evident, it will also be true that the new bitmap created from the FIF will
be a lossy version of the original bitmap that you started with.

How long does it take to convert an image to a Fractal Image File (FIF)
Format?

When compressing to a FIF format the users gets to choose a number of
different parameters that mean that the real answer to this question is that
compression takes as long as you want it to take!  When converting to a FIF
format the user plays off three criteria:-

The absolute file size that they are trying to achieve
The quality level that they want to attain
The amount of time that they want to spend compressing the image

1.	The absolute file size needed is driven by the project, for example a user
may want to fit 100 images onto a floppy disk.  Using Fractal compression the
user can specify to quite fine precision the file size that they want to
achieve.  It is unusual for this to be the most important decision in the
project but very common for a developer to have a criteria that includes file
size, for example an object to send "x" quality images down a wire in "y"
amount of time.  File size of the FIF is dependent upon the size of the
original image and the amount of compression used (quality required) - the
FIF format is famous for providing the highest quality at the smallest file
size and so if very useful for the fastest image transmission as well as for
applications based on Smartcards or diskettes.

If the highest compression ratio is most important, (even above decompression
speeds,) the user may choose to use FIFZIP within the archiving feature.
 This technology applies Iterated's lossless compression to the affine maps
themselves to achieve an even higher compression ratio - up to an extra 15%
depending upon the image size.  The affine maps have to be decompressed first
before the FIF can be decompressed, so the use of archiving adds a minor
overhead to decompression times.  Because this may suit some projects whilst
being inappropriate for others, FIFZIP is left as an optional feature
offering full flexibility of use.

2.	Image quality is usually a subjective issue that cannot easily be
quantified.  There are various elements that effect the quality of the final
image.  Firstly and perhaps most importantly is the quality of the original
digital image that is presented to the compressor.  Any image manipulation,
filtering or enhancement should take place prior to compression of the image
and an image compression tool should be judged on its ability to replicate
the likeness of the original.

Another major factor is the nature of the image, the chart below takes this
concept further:-

Image Type

Compression ratio
Result
Maximum Compression Limit
Reason

Real World
(Faces, landscapes/scenery etc)

20:1


Visually lossless


200:1
Highest Fractal Geometry

Computer Generated
(3-D Studio, block graphics, diagrams, etc)

10:1

Visually lossless

100:1

Medium Fractal Geometry

Mixed detail images (magazine pages, product labels, maps, book covers etc)

15:1

Visually lossless

50:1

Low Fractal Geometry

Text
(artworks, diagrams, site plans)


10:1 with FTT

Visually lossless

30:1 without FTT

Lowest Fractal Geometry




3.	Quality is something that is dependent on the absolute file size that you
want to achieve but uniquely to Fractal image compression it is also
dependent on the amount of time you spend compressing the image.  As a rule
of thumb, the longer that you spend compressing an image the better resultant
image quality you will achieve.  This is because the compressor will find
more and better patterns within the image and so be able to store a better
quality image at the same tiny file size.  This means that two 10k FIFs may
have been generated from the same original but one may be a superior quality
to the other because more time was spent on the compression process.
 Alternatively, two FIFs which are identical in quality could be different
file sizes.

However, applying more effort at compression doesn't have to mean that the
compression takes more time.  Compression accelerator boards speed up
compression times, allowing you to achieve high compression ratios and the
same high quality in much faster times.

I am not sure what absolute file size I want to achieve until I know what
quality that will yield, are there any ways for me to quickly test that out?

Two features will be useful for this.  Firstly, a quick 10:1 compression
allows you to see the sort of results that you are likely to achieve on a
given image.  Secondly the "range" feature allows you to specify a series of
compression ratios so that you can compress your image to various file sizes
in one pass.  This is much faster than compressing the images individually.

Can I batch compress?

There is a batch facility in our toolkit that allows you to compress a series
of images to parameters that you can pre-determined.  In this way you can
leave the compression running over-night or whilst you are at lunch.  You can
also tab away (using the ALT and TAB keys in Windows) and switch to another
application whilst the compression is in process.  This allows you to
continue with other work without a great difference to performance of the PC.

How fast is decompression?

Fractal compression and decompression are not symmetrical processes.  Unlike
other technologies, decompression is fast and in software alone.  This
doesn't mean that you have to compromise on the amount of time and effort you
spend compressing your image however.  You can obtain a fast compression or
spend more time and effort on obtaining a higher quality compression without
effecting decompression times.  FIF can speed up draw to screen times because
FIF files avoid some of the bandwidth bottle necks between a CD-ROM driver
and the screen.  Because the amount of data traveling in the limited
bandwidth is so much less, larger images will decompress AND draw to screen
in less time than the original was taking just to draw to screen.  The
Professor Compressor demonstration diskette allows you to see fast response
times for yourself.



If I use a board for compression, do I need one for decompression too?

Absolutely not, all Fractal files, full motion video and still images
decompress quickly in software alone.  This makes FIF the perfect choice for
publishers and on-line information providers who want to compress once
centrally and decompress on many unknown decompression stations.

What compression ratios can I achieve with my images?

That depends entirely on the quality levels that you want to achieve and the
amount of time that you have to compress.  Since quality is a subjective
issue, we advise you to experiment with various ratios (use the "range"
facility) and establish this for yourself.  Typically our users start at 30:1
and move up as high as 200:1.  One Health Service application in the UK uses
ratios of 40:1 and the X-ray images are considered visually lossless by the
user - even at this ratio.  The larger and more complex the image, the more
patterns the compressor will find within it and therefore be able to preserve
quality at a higher ratio.

How do I get my images into the Fractal Compression tools?

How you choose to digitise your images is entirely up to you.  Obviously, the
compression process will try to create a FIF that is as close to the original
as possible - so if your original quality is poor, than your FIF will mirror
that.  The Fractal software developer's toolkits will accept 24-bit true
colour or 8-bit greyscale BMP or TGA files.  Images Incorporated (our
standalone application) provides image conversion facilities for TIFF, GIF,
PCX and Raster files too.

All FIF files are the same.  TIFF however, comes in many different sub-format
or variants and it is hard to offer support for the input of any TIFF.  BMP
and TGA are more "pure" and so these are our chosen supported formats.

My users only have 8-bit display, will I save file size if I use 8-bit
images?

In the short term you will do but if your users upgrade to new graphics
displays with higher colour capabilities they will not be able to take
advantage of this new capability.  With most compression technologies you
would have to re-capture and compress your images at 24-bit to see the
difference.  But because FIF files are inherently 24-bit, your images with
automatically be optimised on decompression to give the very best quality
that the user's display is capable of.  FIF decompression uses our own colour
optimisation routines developed by our Fractal mathematicians and is widely
held to be the best on the market.  That means that if your users have 8-bit
display they will see the very best quality achievable now, and when they
upgrade their hardware your images will automatically be upgraded in quality
too.  Genuine Fractal quality now, and for the future!


What are the platforms that you support?

Compression
Compression of a Fractal file always takes place under Windows.  The minimum
recommended specification is a 486 33mhz with a minimum of 8meg of RAM.  For
optimum results a 486 66mhz PC would be best with 16meg of RAM.  The hardware
cards for compression are ISA cards.  The FTCIII is a half length card and
the FTCIV is a full length card.  Both take up one standard ISA slot in your
PC.  Up to 3 FTCIVs can be ganged up inside your PC to perform multiple
processing.

Decompression
The minimum requirement for Fractal decompression is a Windows compatible PC
with 1meg of free memory.  The decompression can be under DOS or Windows on a
PC or on a Macintosh platform.  The more colour, memory and faster the
processor, the better results you will achieve.

Not yet UNIX?
Our technology was developed for the PC platform and recently decompression
has been released for the Macintosh too.  Like most commercial companies that
stay in business, the allocation of our development resources is driven by
the market's requirements and the revenue that we can generate to plough back
into research.  There is still a huge potential for further development of
the core mathematics behind our technology as well as the technical
implementation of the new discoveries.  To date, the market has led us to
develop for the PC platform, we would be delighted to pursue custom
development work to provide decompression for other platforms.

What about Windows NT?

Decompression is available for 32-bit Windows NT, and also Windows 3.1 (using
WIN32S).  These tools are provided as part of the Hi-Res toolkit.

How do I link FIF compression and decompression into my own application?

Our SDKs are simple to program and allow Fractal compression to be linked
into any application that supports calls to external DLLs (Dynamic Link
Libraries).  To check if the product that you intend to use allows you to
call an external DLL, consult your product documentation.  Sample code is
provided with our SDK products for linking into C and Visual Basic
applications.

DLLs are also provided to link decompression into your application.  Not only
do our SDKs include sample C and Visual Basic code for decompression, we have
also written code that we call "Linkers" to allow you to link to some common
authoring and database packages.  Linkers are available for:

Toolbook, Authorware, Microsoft Multimedia Viewer
Paradox, Access, FoxPro
Lotus Notes

With our toolkits a more sophisticated programmer could write their own
Linkers to many other applications.  We also provide consultancy services to
write Linkers for our customers.

Some applications may not require a linker for decompression because they
have Fractal decompression inherently built into them.  Below is a list of
some of these products:

Superbase
Icon Author
Image FX
Lotus Smartext
MasterClass
Smartbook
Images Incorporated
Fractal Photolab
CardBox

This list is growing rapidly with the introduction of the Fractal Partner's
programme, specifically designed to offer a cost free option for developer's
to include Fractal decompression into their applications.

What is the cost of distributing an application including support for Fractal
compression?

ColorBox Pro ships with 100 free hologram licensing stickers in the box.  The
chart below should serve as a guideline for developers who want to include
Fractal compression within their own application and who distribute more than
this amount:-

SDK used
Number of licenses
Unit cost
Total cost






ColorBox Pro
100
Ship free in the box



Further 100
2.50
250


500
1.50
750


1,000
1.25
1,250


2,500
0.90
2,250


5,000
0.60
3,000


+5,000
Price on application







Hi-Res
>40
35.00



100
15.00
1,500


250
7.00
1,750


500
4.00
2,000


1,000
2.50
2,500


+1,000
Price on application




What is the cost of distributing an application that includes Fractal
decompression?

Many applications will be accepted onto our Partner's Programme allowing the
developer to trade co-marketing for any financial cost involved in
distributing the DLL for decompression. 



Acceptance onto the programme in by application on a product by product
basis.  The clauses of the agreement obtainable through Iterated Systems or
through your local reseller cover various co-marketing activities,
principally that the developer acknowledges the use of Genuine Fractal
Quality images within their application.  The aim of the Programme is to
promote the FIF format through joint promotion of the products that include
Fractal files.

Does one compression/decompression licence go with each image?

No, the license covers distribution of the DLL for either compression or
decompression and not the image itself.

When do I need an SDK and when do I need an end user system?

The SDKs (ColorBox Pro and Hi-Res) allow you to programme in compression and
decompression into your own application.  The end user system (Images
Incorporated) allow you to manipulate and compress images for use in an
application that already has support for Fractal decompression (see list on
previous page).  Users of Images Incorporated are likely to need an FTCIII
card to speed up compression times or maybe even an FTCIV to offer the very
fastest compression times.

Can I get my images compressed through a bureau?

Iterated Systems offer bureau compression services as do a number of their
clients.  Contact them directly or through your local reseller for the latest
details of your local compression bureaus. 

Can Fractal compression be used to compress text?

Any lossy compression technique would play havoc with your word processing
documents or spreadsheet data.  Compression of text files is usually based on
"lossless" methods.  A page of A4 text would not normally be stored as
bitmapped data, certainly not at 24-bit full colour or even an 8-bit
greyscale.  Typically this data would be stored as ASCII text or worst case
1-bit black and white data files.

That said, some images contain text that is stored as image data and often
can't be compressed separately - map data, a product label or an advert are
all good examples of this type of image.  Fractal compression include a tool
called FTT to handle text when it is part of the image.  The FTT (Fractal
Transform Template) is a separate uncompressed file that is used to seed a
compression allowing you to tell the compressor which parts of the image are
most important to you and to ensure that when data is lost, the minimum
amount is lost around these areas.

How does the FTT work?

Fractal compression works by searching for patterns that allow you to tie the
image up as a mathematical function of itself.  This process is starts by
looking for inter-image differences and storing them as affine maps.  When an
FTT is included in the compression process the process is changed to allow
you to also search for intra-image differences, in other words differences
that describe the image as a function of the template file too.  Any elements
of the image that are found to have a Fractal likeness to the FTT are
preserved above all other elements.  Preservation of text is a good example
of where FTTs can be used to good effect but they can also be used to improve
the quality of a range of images that have some similarity.  For example of
database of faces could all be tied to the same FTT and the quality across
all of them would be improved.

What other effects does the use of an FTT have?

The use of an FTT adds about 20% to compression times but decompression times
are hardly effected.  The FTT has to be present for it to be possible to
decompress a Fractal image compressed using it.  This can be a useful
security device, the FTT can provide the key to unlocking a series of images.

How do I make an FTT?

Images Incorporated allows you to create FTTs which are uncompressed
greyscale images.  The easiest way to ascertain what data you should use in
the FTT is to do a fast 10:1 compression of your images and then choose a
portion out of your original image that has gone lossy that you wanted to
preserve and use this in your FTT.  An FTT can be one piece or a patchwork of
pieces of an image.  It doesn't have to be cut from the image you are
compressing, it can be made up of parts of other images.  Since you are
looking for an element to use in your FTT that is Fractally similar to the
part of the image that you want to especially preserve, you will sometimes
find improvements being made by an FTT that apparently has very little to do
with your image.  Some practical tips are that an FTT containing text can
often generally improve the sharpness of any image.  Small text in an FTT
generally improves any text in the compressed file.  Finally, a large chunk
of image in an FTT generally yields better results than an FTT made up of
many smaller portions of detail from numerous originals.




The FTT must be quite large in itself, won't that cause me problems if it has
to be present at decompression?

If you use an individual FTT for every single image they certainly would
begin to use up valuable storage space.  However, if one FTT is used across
100 images the extra file size is negligible.

What are the differences between the FTCII, FTCIII and FTCIV boards?

The FTCII board is now superseded by the FTCIV for still image compression.
 Our current video technology uses the FTCII board.

The FTCIII board for still image compression is about 3 times faster than
compressing in software alone.

The FTCIV board is the most sophisticated in the range for still image
compression.  It is about 3 times faster than the old FTCII and about 7 times
faster than the FTCIII. 


What is Fractal Zooming?

When a file is converted into a FIF format the resulting file is smaller than
the original bitmapped image.  This is not the only result however, important
other changes have also taken place.  The FIF is an algorithmic description
of patterns within the original bitmapped image.  This series of algorithmic
code does not have a set resolution or size until the user decompresses the
image to a bitmap for drawing to screen.  At this point the user can set the
resolution to half, full or double the resolution of the original image.  If
the resolution is half that of the original, less data is displayed.  At full
scale, the patterns will be redrawn to fit into exactly the same size on
screen as the original image occupied.

More interestingly, when the user chooses to display the image at double the
resolution of the original image new detail is generated to fill in the gaps.
 Using conventional stretching methods such as pixel replication, the gaps
are filled with blocks of pixel colour.  So for example:-


























































Origianal		Pixel Replicated			Fractally Zoomed



This type of zooming produces blocky pixelation and is often of little use in
trying to see an image more clearly.  It is not what happens when we look
more closely at a real world image and it is also not what occurs with
Fractal zooming.  When we ask the decompressor to decompress a FIF to a
resolution at double the scale of the original image the new detail is not
produced by pixel replication but rather by replicating the patterns found in
the original image.  New detail is therefore generated that was not in the
original image but that is much closer to real world zooming.  This data is
not true data and therefore we would not expect to be able to make a medical
diagnosis based on the new detail but it does enable us to make more accurate
predictions and gives a closer indication to what a closer look at the real
world original would be likely to reveal.

How far can I zoom?

Within the Hi-Res toolkit a multimedia programmer can include decompression
of an image to full scale, half scale or double scale without dramatically
effecting decompression times.  These three image sizes all come from the
same file.  Alternatively the scale can be ignored and the image can be
stretched at decompression time to fit into the window provided.  In a
database this can mean a thumb nail image, an image within a record and a
full screen image can all come from the same file.  In on-line applications,
it means that a tiny image can be transmitted and then Fractally decompressed
to a larger size on screen at the receiving end.

As an end user, Images Incorporated allows you to zoom in indefinitely on an
image, enhancing it to a higher and higher level.  This enhancement is
non-real time but allows you to create new detail for image analysis
(medical, security etc) or to produce an image that is effectively at a
higher resolution for printing purposes.  On screen the blocks within an
image stretched using pixel replication will be noticeable but they will be
further exaggerated during the printing process whereas the smooth zooming of
a Fractal enhancement yields a far higher quality print.

How can people use the resolution independence feature? 

For zooming in on an image in a multimedia application, for enhancing an
image prior to printing, for image analysis and for speeding up transmission
times.




How do I link FIF compression and decompression into my own application?

Our SDKs are simple to program and allow Fractal compression to be linked
into any application that supports calls to external DLLs (Dynamic Link
Libraries).  To check if the product that you intend to use allows you to
call an external DLL, consult your product documentation.  Sample code is
provided with our SDK products for linking into C and Visual Basic
applications.

DLLs are also provided to link decompression into your application.  Not only
do our SDKs include sample C and Visual Basic code for decompression, we have
also written code that we call "Linkers" to allow you to link to some common
authoring and database packages.  Linkers are available for:

Toolbook, Authorware, Microsoft Multimedia Viewer
Paradox, Access, FoxPro
Lotus Notes

With our toolkits a more sophisticated programmer could write their own
Linkers to many other applications.  We also provide consultancy services to
write Linkers for our customers.

Some applications may not require a linker for decompression because they
have Fractal decompression inherently built into them.  Below is a list of
some of these products:

Superbase
Icon Author
Image FX
Lotus Smartext
MasterClass
Smartbook
Images Incorporated
Fractal Photolab
CardBox

This list is growing rapidly with the introduction of the Fractal Partner's
programme, specifically designed to offer a cost free option for developer's
to include Fractal decompression into their applications. 
